//日志消息类设计
//1.日志器名称  2.日志等级  3.线程id    4.文件名  5.行号  6.时间    7.日志消息主体

#ifndef _M_MESSAGE_H__
#define _M_MESSAGE_H__

#include"level.hpp"
#include"util.hpp"
#include<memory>
#include<string>
#include<thread>
using namespace std;

namespace bitlog{
    struct LogMsg{
        using ptr=shared_ptr<LogMsg>;
        string _name;   //1.日志器名称
        Loglevel::value _level;     //2.日志器等级
        thread::id _tid;    //3.线程id
        string _filename;   //4.文件名
        size_t _line;   //5.行号
        size_t _ctime;   //6.时间
        string _payload;    //7.日志消息主体
        LogMsg(){}
        LogMsg(string name,Loglevel::value level,string filename,size_t line,string payload)
        :_name(name),_level(level),_filename(filename),_line(line),_payload(payload),_tid(this_thread::get_id()),_ctime(util::date::now())
        {}
    };
}


#endif